Due to recent advances in computer performance in the area of processing speeds, graphic systems have been improved to provide more realistic graphical images to operate with such things as home video games and the such. In these graphic systems, the data is processed to “render” or draw graphic primitives to the display of a system. These graphic primitives constitute the basic components of a graphics picture, such as a triangle or any type of polygon. It is the combination of these graphic primitives that is utilized to perform this rendering operation.
During the rendering operation, a frame buffer is utilized to store all the information for a given frame, the frame being mapped substantially to the display of the user. This frame buffer will therefore include all of the information that is necessary to interface with the display and allow the display to be written in the desired manner. During the rendering operation, these frame buffers must be accessed a number of times in order to create the final values that are to be output to the display. In the rendering operation, there are multiple operations that must be undertaken. Each of these operations requires access to the frame buffer or memory to Write data thereto or Read data therefrom. As the graphic systems become more complex, and more complex algorithms are utilized, access to the memory becomes the “bottleneck” to the overall operation of the system. Typically, there will be provided some type of bus structure that will interface with the memory. As the resolution increases in the graphic systems, more and more memory is required for storing the various information required for the rendering process. This memory tends to be external to the rendering engine and there is typically only provided a single bus that provides access to the memory, which bus usually has a defined width and data rate. Further, when a substantial amount of processing is provided on a single integrated circuit, the bus width becomes more problematic due to the number of pins on the integrated circuit that must be dedicated to interface with the external memory. Even though some memory could be included on the integrated circuit, as the memory requirements increase, they tend to exceed the capabilities of the semiconductor processing technology required for this 3-D rendering engine.